package main

import (
	"fmt"
	"reflect"
)
// 重新定义的类型 ，go是强类型的语言，所以重新定义后俩个类型就不一样了
type myInt int
// 给int 类型起个别名，本质上还是int
type tInt=int

func switchType(temp interface{}){
	switch temp.(type) { //多选语句switch
	case myInt:
		fmt.Println("myInt",temp)
	case int:
		fmt.Println("int",temp)
	default:
		fmt.Println("default")

	}

}

func main() {
	var i myInt = 2
	var a int = 2
	var b tInt = 2

	fmt.Println("type:", reflect.TypeOf(i))// main.myInt
	fmt.Println("type:", reflect.TypeOf(a)) // int
	fmt.Println("type:", reflect.TypeOf(b)) // int

	switchType(i)
	switchType(a)
	switchType(b)

	//fmt.Println(i==a)
	//fmt.Println(i==b)
	fmt.Println(b==a)

}